package ft.jsf.util;

import java.util.Date;
import java.util.Locale;

import java.text.SimpleDateFormat;

public class StrUtil
{
	private static final SimpleDateFormat _sdf19 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
	private static final SimpleDateFormat _sdf14 = new SimpleDateFormat("yyyyMMddHHmmss", Locale.US);
	
	public static String getTs14()
	{
		String ret = null;
		ret = _sdf14.format(new Date());
		return ret;
	}
	public static String getTs19()
	{
		String ret = null;
		ret = _sdf19.format(new Date());
		return ret;
	}
	
//	public static void main(String[] args) {
//		main0();
//	}
	
//	public static void main0()
//	{
//		String a = getTs19();
//		System.out.println(a);
//	}
	
//	public static void main1()
//	{
//		
//		String str = "/d/e/c/ff.jpg";
//		int ix = str.indexOf(".");
//		System.out.println(str);
//		System.out.println(ix);
//		
//		String ext = str.substring(1+ix);
//		System.out.println(ext);
//	}
	
//	public static void main2()
//	{
//		String fn = "D:\\doc\\test.jpg";
//		String sf = StrUtil.getTs14();
//		
//		String fix = fixSuffix(fn, sf);
//		System.out.println(fn);
//		System.out.println(sf);
//		System.out.println(fix);
//	}
	
	/**
	 * 为文件名 fn 增加后缀 sf <br />
	 * 如 <br />
	 * test ==> test_suffix <br />
	 * test.doc ==> test_suffix.doc <br />
	 * @param fn
	 * @param sf
	 * @return
	 */
	public static String fixSuffix(String fn, String sf)
	{
		String ret = null;
		
		if(fn!=null && fn.length()>0 && sf!=null && sf.length()>0)
		{
			String path = null;
			String name = null;
			String sep = null;
			
			String name1 = null;
			String name_ext = null;
			
			
			// 拆分 fn 为 路径 path 和 文件名 name
			int isf1 = fn.lastIndexOf('/');
			int isf2 = fn.lastIndexOf('\\');
			// 选择较大的那个
			int isf = isf1;
			if(isf2>isf1)
			{
				isf = isf2;
			}
			
			if(isf>=0)
			{
				// 如果找到 将 fn 拆分为 path 和 name
				path = fn.substring(0, isf);
				sep = fn.substring(isf,isf+1);
				name = fn.substring(1+isf);
			}
			else
			{
				// 没找到，则认为整个 fn 都是 name 而 path 为空
				path = "";
				sep = "";
				name = fn;
			}
			
			// 拆分扩展名
			if(name!=null && name.length()>0)
			{
				int ix1 = name.lastIndexOf(".");
				
				if(ix1>=0)
				{
					// 有扩展名
					name1 = name.substring(0, ix1);
					name_ext = name.substring(1+ix1);
				}
				else
				{
					// 没找到 直接在后面续 sf
					name1 = name;
					name_ext = "";
				}
				
				// 附加 sf
				if(name1!=null && name1.length()>0)
				{
					name1 = name1 + "_" + sf;
				}
				
				// 拼接 name
				if(name_ext!=null && name_ext.length()>0)
				{
					name = name1 + "." + name_ext;
				}
				else
				{
					name = name1;
				}
				
				// 拼接 path
//				if(path!=null && path.length()>0)
				{
					ret = path + sep + name;
				}
//				else
//				{
//					ret = name;
//				}
			}
		}
		
		return ret;
	}
}
